/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2023-08-15
 * Time: 22:31
 */

public class Solution {
    public int jump(int[] nums) {
        int len = nums.length;
        // 当前可以选择的跳板的最大位置
        int border = 0;
        // 当前这一步能跳到的最远的距离
        int max = 0;
        int steps = 0;
        for (int i = 0;i < len-1;i++) {
            max = Math.max(max, i+nums[i]);
            // 可以起跳的位置已经遍历完了
            if (i == border) {
                // 选择可以跳到的最远的位置
                border = max;
                // 这一段跳到下一段
                steps++;
            }
        }
        return steps;
    }
}
